package electronet.servlet;

import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import electronet.excepcion.DAOExcepcion;
import electronet.modelo.CompraCabecera;
import electronet.modelo.CompraDetalle;
import electronet.negocio.GestionCompra;

/**
 * Servlet implementation class registroCompra
 */
@WebServlet("/registroCompra")
public class registroCompra extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public registroCompra() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//String sIdProducto = request.getParameter("IdProducto");
		String sPrecio = request.getParameter("Precio");
		String sCant = request.getParameter("cantidad");
		String sDescripcion = request.getParameter("descripcion");
		//String sIdPersona = request.getParameter("IdPersona");
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");	
		java.util.Date fecha = new Date();
		String sFechaCompra = format.format(fecha); 
		//request.getParameter("FechaCompra");
		
		
		Double dPrecio = Double.parseDouble(sPrecio);
		Double dCant = Double.parseDouble(sCant);
		int nIdProducto = 1;//Integer.parseInt(sIdProducto);
		int nIdPersona = 1;//Integer.parseInt(sIdPersona);
		
		CompraDetalle oDet = new CompraDetalle();		
		oDet.setIdproducto(nIdProducto);
		oDet.setCantidad(dCant);
		oDet.setComentario(sDescripcion);
		oDet.setSubtotal(oDet.CalcularSubtotal());
		
		CompraCabecera oCab = new CompraCabecera();
		oCab.setIdcomprador(nIdPersona);
		
			    
		java.util.Date utilDate = null;
		try {
			utilDate = format.parse(sFechaCompra);
		} catch (ParseException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}	
///		sqlDateIncidente = new java.sql.Date(utilDateIncidente.getTime());		
		oCab.setFechacompra(utilDate);		
		oCab.setTotal(oCab.CalcularTotal());
							
		ArrayList<CompraDetalle> detalles = new ArrayList<CompraDetalle>();
		detalles.add(oDet);				
		oCab.setDetalles(detalles);
				
		GestionCompra gestion = new GestionCompra();
		
		try {
			gestion.InsertarCompraCab(oCab);
			
		} catch (DAOExcepcion e) {
			e.printStackTrace();
		}
		
		RequestDispatcher rd = request.getRequestDispatcher("RegistrarCompra.jsp");
		rd.forward(request, response);
		
	}

}
